package org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part;

import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

import org.admanager.soageneralpattern.plugin.soageneralpattern.Component;
import org.admanager.soageneralpattern.plugin.soageneralpattern.ComponentReference;
import org.admanager.soageneralpattern.plugin.soageneralpattern.ComponentService;
import org.admanager.soageneralpattern.plugin.soageneralpattern.Composite;
import org.admanager.soageneralpattern.plugin.soageneralpattern.Constraint;
import org.admanager.soageneralpattern.plugin.soageneralpattern.Element;
import org.admanager.soageneralpattern.plugin.soageneralpattern.Multiplicity;
import org.admanager.soageneralpattern.plugin.soageneralpattern.Pattern;
import org.admanager.soageneralpattern.plugin.soageneralpattern.Reference;
import org.admanager.soageneralpattern.plugin.soageneralpattern.Role;
import org.admanager.soageneralpattern.plugin.soageneralpattern.Service;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.Component2EditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ComponentComponentCompartmentEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ComponentEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ComponentInnerComponentCompartmentEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ComponentReference2EditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ComponentReferenceEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ComponentReferenceTargetEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ComponentService2EditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ComponentServiceEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.CompositeCompositeCompartmentEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.CompositeEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ConstraintEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ElementMultiplicityEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ElementRolesEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.MultiplicityEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.PatternEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ReferenceEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ReferencePromoteEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.RoleEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.RoleRoleCompartmentEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ServiceEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ServicePromoteEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.providers.GeneralSOAPatternECOREMetamodelElementTypes;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.gmf.runtime.notation.View;

/**
 * @generated
 */
public class GeneralSOAPatternECOREMetamodelDiagramUpdater {

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelNodeDescriptor]*/getSemanticChildren(
			View view) {
		switch (GeneralSOAPatternECOREMetamodelVisualIDRegistry
				.getVisualID(view)) {
		case PatternEditPart.VISUAL_ID:
			return getPattern_1000SemanticChildren(view);
		case ComponentComponentCompartmentEditPart.VISUAL_ID:
			return getComponentComponentCompartment_7001SemanticChildren(view);
		case CompositeCompositeCompartmentEditPart.VISUAL_ID:
			return getCompositeCompositeCompartment_7002SemanticChildren(view);
		case ComponentInnerComponentCompartmentEditPart.VISUAL_ID:
			return getComponentInnerComponentCompartment_7003SemanticChildren(view);
		case RoleRoleCompartmentEditPart.VISUAL_ID:
			return getRoleRoleCompartment_7004SemanticChildren(view);
		}
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelNodeDescriptor]*/getPattern_1000SemanticChildren(
			View view) {
		if (!view.isSetElement()) {
			return Collections.EMPTY_LIST;
		}
		Pattern modelElement = (Pattern) view.getElement();
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelNodeDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelNodeDescriptor]*/();
		for (Iterator/*[?]*/it = modelElement.getElements().iterator(); it
				.hasNext();) {
			Element childElement = (Element) it.next();
			int visualID = GeneralSOAPatternECOREMetamodelVisualIDRegistry
					.getNodeVisualID(view, childElement);
			if (visualID == ComponentEditPart.VISUAL_ID) {
				result.add(new GeneralSOAPatternECOREMetamodelNodeDescriptor(
						childElement, visualID));
				continue;
			}
			if (visualID == CompositeEditPart.VISUAL_ID) {
				result.add(new GeneralSOAPatternECOREMetamodelNodeDescriptor(
						childElement, visualID));
				continue;
			}
		}
		for (Iterator/*[?]*/it = modelElement.getMultiplicities().iterator(); it
				.hasNext();) {
			Multiplicity childElement = (Multiplicity) it.next();
			int visualID = GeneralSOAPatternECOREMetamodelVisualIDRegistry
					.getNodeVisualID(view, childElement);
			if (visualID == MultiplicityEditPart.VISUAL_ID) {
				result.add(new GeneralSOAPatternECOREMetamodelNodeDescriptor(
						childElement, visualID));
				continue;
			}
		}
		for (Iterator/*[?]*/it = modelElement.getContainingRoles().iterator(); it
				.hasNext();) {
			Role childElement = (Role) it.next();
			int visualID = GeneralSOAPatternECOREMetamodelVisualIDRegistry
					.getNodeVisualID(view, childElement);
			if (visualID == RoleEditPart.VISUAL_ID) {
				result.add(new GeneralSOAPatternECOREMetamodelNodeDescriptor(
						childElement, visualID));
				continue;
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelNodeDescriptor]*/getComponentComponentCompartment_7001SemanticChildren(
			View view) {
		if (false == view.eContainer() instanceof View) {
			return Collections.EMPTY_LIST;
		}
		View containerView = (View) view.eContainer();
		if (!containerView.isSetElement()) {
			return Collections.EMPTY_LIST;
		}
		Component modelElement = (Component) containerView.getElement();
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelNodeDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelNodeDescriptor]*/();
		for (Iterator/*[?]*/it = modelElement.getService().iterator(); it
				.hasNext();) {
			ComponentService childElement = (ComponentService) it.next();
			int visualID = GeneralSOAPatternECOREMetamodelVisualIDRegistry
					.getNodeVisualID(view, childElement);
			if (visualID == ComponentServiceEditPart.VISUAL_ID) {
				result.add(new GeneralSOAPatternECOREMetamodelNodeDescriptor(
						childElement, visualID));
				continue;
			}
		}
		for (Iterator/*[?]*/it = modelElement.getReference().iterator(); it
				.hasNext();) {
			ComponentReference childElement = (ComponentReference) it.next();
			int visualID = GeneralSOAPatternECOREMetamodelVisualIDRegistry
					.getNodeVisualID(view, childElement);
			if (visualID == ComponentReferenceEditPart.VISUAL_ID) {
				result.add(new GeneralSOAPatternECOREMetamodelNodeDescriptor(
						childElement, visualID));
				continue;
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelNodeDescriptor]*/getCompositeCompositeCompartment_7002SemanticChildren(
			View view) {
		if (false == view.eContainer() instanceof View) {
			return Collections.EMPTY_LIST;
		}
		View containerView = (View) view.eContainer();
		if (!containerView.isSetElement()) {
			return Collections.EMPTY_LIST;
		}
		Composite modelElement = (Composite) containerView.getElement();
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelNodeDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelNodeDescriptor]*/();
		for (Iterator/*[?]*/it = modelElement.getReference().iterator(); it
				.hasNext();) {
			Reference childElement = (Reference) it.next();
			int visualID = GeneralSOAPatternECOREMetamodelVisualIDRegistry
					.getNodeVisualID(view, childElement);
			if (visualID == ReferenceEditPart.VISUAL_ID) {
				result.add(new GeneralSOAPatternECOREMetamodelNodeDescriptor(
						childElement, visualID));
				continue;
			}
		}
		for (Iterator/*[?]*/it = modelElement.getService().iterator(); it
				.hasNext();) {
			Service childElement = (Service) it.next();
			int visualID = GeneralSOAPatternECOREMetamodelVisualIDRegistry
					.getNodeVisualID(view, childElement);
			if (visualID == ServiceEditPart.VISUAL_ID) {
				result.add(new GeneralSOAPatternECOREMetamodelNodeDescriptor(
						childElement, visualID));
				continue;
			}
		}
		for (Iterator/*[?]*/it = modelElement.getComponent().iterator(); it
				.hasNext();) {
			Component childElement = (Component) it.next();
			int visualID = GeneralSOAPatternECOREMetamodelVisualIDRegistry
					.getNodeVisualID(view, childElement);
			if (visualID == Component2EditPart.VISUAL_ID) {
				result.add(new GeneralSOAPatternECOREMetamodelNodeDescriptor(
						childElement, visualID));
				continue;
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelNodeDescriptor]*/getComponentInnerComponentCompartment_7003SemanticChildren(
			View view) {
		if (false == view.eContainer() instanceof View) {
			return Collections.EMPTY_LIST;
		}
		View containerView = (View) view.eContainer();
		if (!containerView.isSetElement()) {
			return Collections.EMPTY_LIST;
		}
		Component modelElement = (Component) containerView.getElement();
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelNodeDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelNodeDescriptor]*/();
		for (Iterator/*[?]*/it = modelElement.getService().iterator(); it
				.hasNext();) {
			ComponentService childElement = (ComponentService) it.next();
			int visualID = GeneralSOAPatternECOREMetamodelVisualIDRegistry
					.getNodeVisualID(view, childElement);
			if (visualID == ComponentService2EditPart.VISUAL_ID) {
				result.add(new GeneralSOAPatternECOREMetamodelNodeDescriptor(
						childElement, visualID));
				continue;
			}
		}
		for (Iterator/*[?]*/it = modelElement.getReference().iterator(); it
				.hasNext();) {
			ComponentReference childElement = (ComponentReference) it.next();
			int visualID = GeneralSOAPatternECOREMetamodelVisualIDRegistry
					.getNodeVisualID(view, childElement);
			if (visualID == ComponentReference2EditPart.VISUAL_ID) {
				result.add(new GeneralSOAPatternECOREMetamodelNodeDescriptor(
						childElement, visualID));
				continue;
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelNodeDescriptor]*/getRoleRoleCompartment_7004SemanticChildren(
			View view) {
		if (false == view.eContainer() instanceof View) {
			return Collections.EMPTY_LIST;
		}
		View containerView = (View) view.eContainer();
		if (!containerView.isSetElement()) {
			return Collections.EMPTY_LIST;
		}
		Role modelElement = (Role) containerView.getElement();
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelNodeDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelNodeDescriptor]*/();
		for (Iterator/*[?]*/it = modelElement.getInvariants().iterator(); it
				.hasNext();) {
			Constraint childElement = (Constraint) it.next();
			int visualID = GeneralSOAPatternECOREMetamodelVisualIDRegistry
					.getNodeVisualID(view, childElement);
			if (visualID == ConstraintEditPart.VISUAL_ID) {
				result.add(new GeneralSOAPatternECOREMetamodelNodeDescriptor(
						childElement, visualID));
				continue;
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getContainedLinks(
			View view) {
		switch (GeneralSOAPatternECOREMetamodelVisualIDRegistry
				.getVisualID(view)) {
		case PatternEditPart.VISUAL_ID:
			return getPattern_1000ContainedLinks(view);
		case ComponentEditPart.VISUAL_ID:
			return getComponent_2001ContainedLinks(view);
		case CompositeEditPart.VISUAL_ID:
			return getComposite_2002ContainedLinks(view);
		case MultiplicityEditPart.VISUAL_ID:
			return getMultiplicity_2003ContainedLinks(view);
		case RoleEditPart.VISUAL_ID:
			return getRole_2004ContainedLinks(view);
		case ComponentServiceEditPart.VISUAL_ID:
			return getComponentService_3001ContainedLinks(view);
		case ComponentReferenceEditPart.VISUAL_ID:
			return getComponentReference_3002ContainedLinks(view);
		case ReferenceEditPart.VISUAL_ID:
			return getReference_3003ContainedLinks(view);
		case ServiceEditPart.VISUAL_ID:
			return getService_3004ContainedLinks(view);
		case Component2EditPart.VISUAL_ID:
			return getComponent_3005ContainedLinks(view);
		case ComponentService2EditPart.VISUAL_ID:
			return getComponentService_3007ContainedLinks(view);
		case ComponentReference2EditPart.VISUAL_ID:
			return getComponentReference_3008ContainedLinks(view);
		case ConstraintEditPart.VISUAL_ID:
			return getConstraint_3006ContainedLinks(view);
		}
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getIncomingLinks(
			View view) {
		switch (GeneralSOAPatternECOREMetamodelVisualIDRegistry
				.getVisualID(view)) {
		case ComponentEditPart.VISUAL_ID:
			return getComponent_2001IncomingLinks(view);
		case CompositeEditPart.VISUAL_ID:
			return getComposite_2002IncomingLinks(view);
		case MultiplicityEditPart.VISUAL_ID:
			return getMultiplicity_2003IncomingLinks(view);
		case RoleEditPart.VISUAL_ID:
			return getRole_2004IncomingLinks(view);
		case ComponentServiceEditPart.VISUAL_ID:
			return getComponentService_3001IncomingLinks(view);
		case ComponentReferenceEditPart.VISUAL_ID:
			return getComponentReference_3002IncomingLinks(view);
		case ReferenceEditPart.VISUAL_ID:
			return getReference_3003IncomingLinks(view);
		case ServiceEditPart.VISUAL_ID:
			return getService_3004IncomingLinks(view);
		case Component2EditPart.VISUAL_ID:
			return getComponent_3005IncomingLinks(view);
		case ComponentService2EditPart.VISUAL_ID:
			return getComponentService_3007IncomingLinks(view);
		case ComponentReference2EditPart.VISUAL_ID:
			return getComponentReference_3008IncomingLinks(view);
		case ConstraintEditPart.VISUAL_ID:
			return getConstraint_3006IncomingLinks(view);
		}
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getOutgoingLinks(
			View view) {
		switch (GeneralSOAPatternECOREMetamodelVisualIDRegistry
				.getVisualID(view)) {
		case ComponentEditPart.VISUAL_ID:
			return getComponent_2001OutgoingLinks(view);
		case CompositeEditPart.VISUAL_ID:
			return getComposite_2002OutgoingLinks(view);
		case MultiplicityEditPart.VISUAL_ID:
			return getMultiplicity_2003OutgoingLinks(view);
		case RoleEditPart.VISUAL_ID:
			return getRole_2004OutgoingLinks(view);
		case ComponentServiceEditPart.VISUAL_ID:
			return getComponentService_3001OutgoingLinks(view);
		case ComponentReferenceEditPart.VISUAL_ID:
			return getComponentReference_3002OutgoingLinks(view);
		case ReferenceEditPart.VISUAL_ID:
			return getReference_3003OutgoingLinks(view);
		case ServiceEditPart.VISUAL_ID:
			return getService_3004OutgoingLinks(view);
		case Component2EditPart.VISUAL_ID:
			return getComponent_3005OutgoingLinks(view);
		case ComponentService2EditPart.VISUAL_ID:
			return getComponentService_3007OutgoingLinks(view);
		case ComponentReference2EditPart.VISUAL_ID:
			return getComponentReference_3008OutgoingLinks(view);
		case ConstraintEditPart.VISUAL_ID:
			return getConstraint_3006OutgoingLinks(view);
		}
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getPattern_1000ContainedLinks(
			View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getComponent_2001ContainedLinks(
			View view) {
		Component modelElement = (Component) view.getElement();
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Roles_4001(modelElement));
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Multiplicity_4002(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getComposite_2002ContainedLinks(
			View view) {
		Composite modelElement = (Composite) view.getElement();
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Roles_4001(modelElement));
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Multiplicity_4002(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getMultiplicity_2003ContainedLinks(
			View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getRole_2004ContainedLinks(
			View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getComponentService_3001ContainedLinks(
			View view) {
		ComponentService modelElement = (ComponentService) view.getElement();
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Roles_4001(modelElement));
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Multiplicity_4002(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getComponentReference_3002ContainedLinks(
			View view) {
		ComponentReference modelElement = (ComponentReference) view
				.getElement();
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Roles_4001(modelElement));
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Multiplicity_4002(modelElement));
		result.addAll(getOutgoingFeatureModelFacetLinks_ComponentReference_Target_4005(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getReference_3003ContainedLinks(
			View view) {
		Reference modelElement = (Reference) view.getElement();
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Roles_4001(modelElement));
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Multiplicity_4002(modelElement));
		result.addAll(getOutgoingFeatureModelFacetLinks_Reference_Promote_4003(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getService_3004ContainedLinks(
			View view) {
		Service modelElement = (Service) view.getElement();
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Roles_4001(modelElement));
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Multiplicity_4002(modelElement));
		result.addAll(getOutgoingFeatureModelFacetLinks_Service_Promote_4004(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getComponent_3005ContainedLinks(
			View view) {
		Component modelElement = (Component) view.getElement();
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Roles_4001(modelElement));
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Multiplicity_4002(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getComponentService_3007ContainedLinks(
			View view) {
		ComponentService modelElement = (ComponentService) view.getElement();
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Roles_4001(modelElement));
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Multiplicity_4002(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getComponentReference_3008ContainedLinks(
			View view) {
		ComponentReference modelElement = (ComponentReference) view
				.getElement();
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Roles_4001(modelElement));
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Multiplicity_4002(modelElement));
		result.addAll(getOutgoingFeatureModelFacetLinks_ComponentReference_Target_4005(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getConstraint_3006ContainedLinks(
			View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getComponent_2001IncomingLinks(
			View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getComposite_2002IncomingLinks(
			View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getMultiplicity_2003IncomingLinks(
			View view) {
		Multiplicity modelElement = (Multiplicity) view.getElement();
		Map/*[org.eclipse.emf.ecore.EObject, java.util.Collection<org.eclipse.emf.ecore.EStructuralFeature.Setting>]*/crossReferences = EcoreUtil.CrossReferencer
				.find(view.eResource().getResourceSet().getResources());
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		result.addAll(getIncomingFeatureModelFacetLinks_Element_Multiplicity_4002(
				modelElement, crossReferences));
		return result;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getRole_2004IncomingLinks(
			View view) {
		Role modelElement = (Role) view.getElement();
		Map/*[org.eclipse.emf.ecore.EObject, java.util.Collection<org.eclipse.emf.ecore.EStructuralFeature.Setting>]*/crossReferences = EcoreUtil.CrossReferencer
				.find(view.eResource().getResourceSet().getResources());
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		result.addAll(getIncomingFeatureModelFacetLinks_Element_Roles_4001(
				modelElement, crossReferences));
		return result;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getComponentService_3001IncomingLinks(
			View view) {
		ComponentService modelElement = (ComponentService) view.getElement();
		Map/*[org.eclipse.emf.ecore.EObject, java.util.Collection<org.eclipse.emf.ecore.EStructuralFeature.Setting>]*/crossReferences = EcoreUtil.CrossReferencer
				.find(view.eResource().getResourceSet().getResources());
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		result.addAll(getIncomingFeatureModelFacetLinks_Service_Promote_4004(
				modelElement, crossReferences));
		result.addAll(getIncomingFeatureModelFacetLinks_ComponentReference_Target_4005(
				modelElement, crossReferences));
		return result;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getComponentReference_3002IncomingLinks(
			View view) {
		ComponentReference modelElement = (ComponentReference) view
				.getElement();
		Map/*[org.eclipse.emf.ecore.EObject, java.util.Collection<org.eclipse.emf.ecore.EStructuralFeature.Setting>]*/crossReferences = EcoreUtil.CrossReferencer
				.find(view.eResource().getResourceSet().getResources());
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		result.addAll(getIncomingFeatureModelFacetLinks_Reference_Promote_4003(
				modelElement, crossReferences));
		return result;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getReference_3003IncomingLinks(
			View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getService_3004IncomingLinks(
			View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getComponent_3005IncomingLinks(
			View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getComponentService_3007IncomingLinks(
			View view) {
		ComponentService modelElement = (ComponentService) view.getElement();
		Map/*[org.eclipse.emf.ecore.EObject, java.util.Collection<org.eclipse.emf.ecore.EStructuralFeature.Setting>]*/crossReferences = EcoreUtil.CrossReferencer
				.find(view.eResource().getResourceSet().getResources());
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		result.addAll(getIncomingFeatureModelFacetLinks_Service_Promote_4004(
				modelElement, crossReferences));
		result.addAll(getIncomingFeatureModelFacetLinks_ComponentReference_Target_4005(
				modelElement, crossReferences));
		return result;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getComponentReference_3008IncomingLinks(
			View view) {
		ComponentReference modelElement = (ComponentReference) view
				.getElement();
		Map/*[org.eclipse.emf.ecore.EObject, java.util.Collection<org.eclipse.emf.ecore.EStructuralFeature.Setting>]*/crossReferences = EcoreUtil.CrossReferencer
				.find(view.eResource().getResourceSet().getResources());
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		result.addAll(getIncomingFeatureModelFacetLinks_Reference_Promote_4003(
				modelElement, crossReferences));
		return result;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getConstraint_3006IncomingLinks(
			View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getComponent_2001OutgoingLinks(
			View view) {
		Component modelElement = (Component) view.getElement();
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Roles_4001(modelElement));
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Multiplicity_4002(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getComposite_2002OutgoingLinks(
			View view) {
		Composite modelElement = (Composite) view.getElement();
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Roles_4001(modelElement));
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Multiplicity_4002(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getMultiplicity_2003OutgoingLinks(
			View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getRole_2004OutgoingLinks(
			View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getComponentService_3001OutgoingLinks(
			View view) {
		ComponentService modelElement = (ComponentService) view.getElement();
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Roles_4001(modelElement));
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Multiplicity_4002(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getComponentReference_3002OutgoingLinks(
			View view) {
		ComponentReference modelElement = (ComponentReference) view
				.getElement();
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Roles_4001(modelElement));
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Multiplicity_4002(modelElement));
		result.addAll(getOutgoingFeatureModelFacetLinks_ComponentReference_Target_4005(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getReference_3003OutgoingLinks(
			View view) {
		Reference modelElement = (Reference) view.getElement();
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Roles_4001(modelElement));
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Multiplicity_4002(modelElement));
		result.addAll(getOutgoingFeatureModelFacetLinks_Reference_Promote_4003(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getService_3004OutgoingLinks(
			View view) {
		Service modelElement = (Service) view.getElement();
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Roles_4001(modelElement));
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Multiplicity_4002(modelElement));
		result.addAll(getOutgoingFeatureModelFacetLinks_Service_Promote_4004(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getComponent_3005OutgoingLinks(
			View view) {
		Component modelElement = (Component) view.getElement();
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Roles_4001(modelElement));
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Multiplicity_4002(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getComponentService_3007OutgoingLinks(
			View view) {
		ComponentService modelElement = (ComponentService) view.getElement();
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Roles_4001(modelElement));
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Multiplicity_4002(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getComponentReference_3008OutgoingLinks(
			View view) {
		ComponentReference modelElement = (ComponentReference) view
				.getElement();
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Roles_4001(modelElement));
		result.addAll(getOutgoingFeatureModelFacetLinks_Element_Multiplicity_4002(modelElement));
		result.addAll(getOutgoingFeatureModelFacetLinks_ComponentReference_Target_4005(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getConstraint_3006OutgoingLinks(
			View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	private static Collection/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getIncomingFeatureModelFacetLinks_Element_Roles_4001(
			Role target,
			Map/*[org.eclipse.emf.ecore.EObject, java.util.Collection<org.eclipse.emf.ecore.EStructuralFeature.Setting>]*/crossReferences) {
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		Collection/*[org.eclipse.emf.ecore.EStructuralFeature.Setting]*/settings = (Collection) crossReferences
				.get(target);
		for (Iterator/*[org.eclipse.emf.ecore.EStructuralFeature.Setting]*/it = settings
				.iterator(); it.hasNext();) {
			EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it
					.next();
			if (setting.getEStructuralFeature() == org.admanager.soageneralpattern.plugin.soageneralpattern.soageneralpatternPackage.eINSTANCE
					.getElement_Roles()) {
				result.add(new GeneralSOAPatternECOREMetamodelLinkDescriptor(
						setting.getEObject(),
						target,
						GeneralSOAPatternECOREMetamodelElementTypes.ElementRoles_4001,
						ElementRolesEditPart.VISUAL_ID));
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getIncomingFeatureModelFacetLinks_Element_Multiplicity_4002(
			Multiplicity target,
			Map/*[org.eclipse.emf.ecore.EObject, java.util.Collection<org.eclipse.emf.ecore.EStructuralFeature.Setting>]*/crossReferences) {
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		Collection/*[org.eclipse.emf.ecore.EStructuralFeature.Setting]*/settings = (Collection) crossReferences
				.get(target);
		for (Iterator/*[org.eclipse.emf.ecore.EStructuralFeature.Setting]*/it = settings
				.iterator(); it.hasNext();) {
			EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it
					.next();
			if (setting.getEStructuralFeature() == org.admanager.soageneralpattern.plugin.soageneralpattern.soageneralpatternPackage.eINSTANCE
					.getElement_Multiplicity()) {
				result.add(new GeneralSOAPatternECOREMetamodelLinkDescriptor(
						setting.getEObject(),
						target,
						GeneralSOAPatternECOREMetamodelElementTypes.ElementMultiplicity_4002,
						ElementMultiplicityEditPart.VISUAL_ID));
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getIncomingFeatureModelFacetLinks_Reference_Promote_4003(
			ComponentReference target,
			Map/*[org.eclipse.emf.ecore.EObject, java.util.Collection<org.eclipse.emf.ecore.EStructuralFeature.Setting>]*/crossReferences) {
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		Collection/*[org.eclipse.emf.ecore.EStructuralFeature.Setting]*/settings = (Collection) crossReferences
				.get(target);
		for (Iterator/*[org.eclipse.emf.ecore.EStructuralFeature.Setting]*/it = settings
				.iterator(); it.hasNext();) {
			EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it
					.next();
			if (setting.getEStructuralFeature() == org.admanager.soageneralpattern.plugin.soageneralpattern.soageneralpatternPackage.eINSTANCE
					.getReference_Promote()) {
				result.add(new GeneralSOAPatternECOREMetamodelLinkDescriptor(
						setting.getEObject(),
						target,
						GeneralSOAPatternECOREMetamodelElementTypes.ReferencePromote_4003,
						ReferencePromoteEditPart.VISUAL_ID));
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getIncomingFeatureModelFacetLinks_Service_Promote_4004(
			ComponentService target,
			Map/*[org.eclipse.emf.ecore.EObject, java.util.Collection<org.eclipse.emf.ecore.EStructuralFeature.Setting>]*/crossReferences) {
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		Collection/*[org.eclipse.emf.ecore.EStructuralFeature.Setting]*/settings = (Collection) crossReferences
				.get(target);
		for (Iterator/*[org.eclipse.emf.ecore.EStructuralFeature.Setting]*/it = settings
				.iterator(); it.hasNext();) {
			EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it
					.next();
			if (setting.getEStructuralFeature() == org.admanager.soageneralpattern.plugin.soageneralpattern.soageneralpatternPackage.eINSTANCE
					.getService_Promote()) {
				result.add(new GeneralSOAPatternECOREMetamodelLinkDescriptor(
						setting.getEObject(),
						target,
						GeneralSOAPatternECOREMetamodelElementTypes.ServicePromote_4004,
						ServicePromoteEditPart.VISUAL_ID));
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getIncomingFeatureModelFacetLinks_ComponentReference_Target_4005(
			ComponentService target,
			Map/*[org.eclipse.emf.ecore.EObject, java.util.Collection<org.eclipse.emf.ecore.EStructuralFeature.Setting>]*/crossReferences) {
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		Collection/*[org.eclipse.emf.ecore.EStructuralFeature.Setting]*/settings = (Collection) crossReferences
				.get(target);
		for (Iterator/*[org.eclipse.emf.ecore.EStructuralFeature.Setting]*/it = settings
				.iterator(); it.hasNext();) {
			EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it
					.next();
			if (setting.getEStructuralFeature() == org.admanager.soageneralpattern.plugin.soageneralpattern.soageneralpatternPackage.eINSTANCE
					.getComponentReference_Target()) {
				result.add(new GeneralSOAPatternECOREMetamodelLinkDescriptor(
						setting.getEObject(),
						target,
						GeneralSOAPatternECOREMetamodelElementTypes.ComponentReferenceTarget_4005,
						ComponentReferenceTargetEditPart.VISUAL_ID));
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getOutgoingFeatureModelFacetLinks_Element_Roles_4001(
			Element source) {
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		for (Iterator/*[?]*/destinations = source.getRoles().iterator(); destinations
				.hasNext();) {
			Role destination = (Role) destinations.next();
			result.add(new GeneralSOAPatternECOREMetamodelLinkDescriptor(
					source,
					destination,
					GeneralSOAPatternECOREMetamodelElementTypes.ElementRoles_4001,
					ElementRolesEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getOutgoingFeatureModelFacetLinks_Element_Multiplicity_4002(
			Element source) {
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		Multiplicity destination = source.getMultiplicity();
		if (destination == null) {
			return result;
		}
		result.add(new GeneralSOAPatternECOREMetamodelLinkDescriptor(
				source,
				destination,
				GeneralSOAPatternECOREMetamodelElementTypes.ElementMultiplicity_4002,
				ElementMultiplicityEditPart.VISUAL_ID));
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getOutgoingFeatureModelFacetLinks_Reference_Promote_4003(
			Reference source) {
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		for (Iterator/*[?]*/destinations = source.getPromote().iterator(); destinations
				.hasNext();) {
			ComponentReference destination = (ComponentReference) destinations
					.next();
			result.add(new GeneralSOAPatternECOREMetamodelLinkDescriptor(
					source,
					destination,
					GeneralSOAPatternECOREMetamodelElementTypes.ReferencePromote_4003,
					ReferencePromoteEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getOutgoingFeatureModelFacetLinks_Service_Promote_4004(
			Service source) {
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		ComponentService destination = source.getPromote();
		if (destination == null) {
			return result;
		}
		result.add(new GeneralSOAPatternECOREMetamodelLinkDescriptor(
				source,
				destination,
				GeneralSOAPatternECOREMetamodelElementTypes.ServicePromote_4004,
				ServicePromoteEditPart.VISUAL_ID));
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/getOutgoingFeatureModelFacetLinks_ComponentReference_Target_4005(
			ComponentReference source) {
		LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/result = new LinkedList/*[org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelLinkDescriptor]*/();
		for (Iterator/*[?]*/destinations = source.getTarget().iterator(); destinations
				.hasNext();) {
			ComponentService destination = (ComponentService) destinations
					.next();
			result.add(new GeneralSOAPatternECOREMetamodelLinkDescriptor(
					source,
					destination,
					GeneralSOAPatternECOREMetamodelElementTypes.ComponentReferenceTarget_4005,
					ComponentReferenceTargetEditPart.VISUAL_ID));
		}
		return result;
	}

}
